import route from "./route";

export default function initApp() {
  /**
   * 页面跳转拦截器
   */
  let list = ["navigateTo", "redirectTo", "reLaunch", "switchTab"];
  list.forEach(item => { //用遍历的方式分别为,uni.navigateTo,uni.redirectTo,uni.reLaunch,uni.switchTab这4个路由方法添加拦截器
    uni.addInterceptor(item, {
      invoke(e) { // 调用前拦截
        //获取用户的token
        const token = uni.getStorageSync('token');
        //获取要跳转的页面路径（url去掉"?"和"?"后的参数）
        let url = e.url.split('?')[0];
        let isLogin = route.noneLogin.includes(url);

        if(isLogin){
          return e;
        }
        if(!isLogin && !token){
          uni.navigateTo({
            url: '/pages/login/login'
          })
          return false;
        }
        return e;
      },
      fail(err) { // 失败回调拦截
        console.log(err);
      }
    })
  })
}
